.......:+*****++++*+*+:.................................... . ..................
.......-*#####*++*###*-...............:::...:::::::::.........::::::::::---:---:
-------=+++============-----------==+++++++===-----============================-
=======--------------:---------=*###%%%%%%%###*+=--::------------------------:::
:::::::-==============-=+******%@@@@%%%%%%%%%%%%##+=:...................:.......
...   ..+########******#%%%@@@@@%@@@@@@@@@%%%%%%%%%##+=:.     ...:::.........:::
........+%%%%%###***###%%%@@@%#***##%%%%%%%%%%%%%%%%%%%#=: ......::::.......::::
........=%%%####***###%%@@@%*+=======++****###%%%%%%%%%%#*-........::.......::::
........=%%##########%%@@%#+=------------=====+*##%%%%%%%%#-................::::
........=%%######%##%%@%#*+=--------------------=+*%%%%%%%%#=. ...............:.
........=%%#####%%#%@@%#+==------------------------+#%%%%%%%%=..   .............
...... .-#%####%%%%%@@#*==--=-----------------------=+##%%%%%%= ................
........-#%###%%%%%@@%*+==--=------------------------==+*#%%%%%:................
........-#%##%@%%%@@%%**==--=-------------------------==+*%@%%%*................
........-#%##%@%@@@@%##+==------------------------------=+#@%%@#:...............
........-####%@@@@@@%%*+==--=---------------------------=+#@@%@#:...............
........-#%#%@@@@@@@%#+============--------------:-------+#%@@@*................
........-###%@%@@@@@%+====++***##%%#*+=--------====-----==#@@@@-................
........:###%@%@@%%%#***##%#****++**#**+------=**#%##**+==#@@@*:..:::::::::-----
...    .:####%%@@@@%***#%%*++++++-:===+*###***#**+++++++++#%%%##########%%%%%%%%
        :*####**#%%%+=++*#+****%%*-+++++#%##%#++=+++=--::-+##*==+++++===========
. .     .*%##+**+++#+===+*=+++++++=+++**%+--**+*+##*++=--==**-.:::::::::::::::::
......  :*%##+*+++*#+====*+==========++#*==--*+++++=====-==#++::::::::::::::::::
........:*%##++=+**%*=====++=========+#*+=---++=======---=**=*-:::::::::::::=+==
........:*%##*++**+++=====-====++=+++++++=----+++========+*+=+-.::.::::::::-=*++
........:*%###++++++++=====--------==+++==----============+=+=::::::::::::::=+++
........:*%###*===++++======-------==++*#*===++===------====+-:::..:::::::::=*+=
...... .:*%####+====+++=======------==+***+++++=--=----===+=-::....::::::::-=++=
...   ..:*%####**+++++++======---=====+****++++=============::::::::::::::::====
:------=+######****=+++++========++++++++++++=+++++======+=---:::::::::::::::...
################**+=+*++++==+===++****++++===+++***+=====+=:::::::::::::::::....
%###############**+==+**++++++===+++++=========+=++===+==+=:::::::::::::::::::::
%###############*%+==+***+++++++=+======+++==========+=++#=::::....:::::::::::::
###************#%#-==+*****++++++=====--===========++=++##=:::::...:::::::::::::
----------::-*%%@+:==++**#*****+++++=============+++++*+##-:::::::::::::::::....
:::::...::-=%@@@@=.-=++**####*****++++====-====+++++*+--##-::::....:::::::::.:::
::.:-==+#%%@@@@@@=::=++++**######****+++======+++***+--+#*-:::.....:::::::::::::
-=+#%@@@%%@@@@@@@+:::=+++++**########***+++++++***#%%%%%%%#++=--:::..:::::::::::
#%%%%%@@@@@@@@@@@*::::=++++++**################**+%@@@@@@@@@@%%%%%#*=:.:::::::::
%%%%@@@@@@@@@@@@@%-::::=+++++++****##########**++*@@@@@@@@@@@%@@@@%@@#-......:..
@@@@@@@@@@@@@@@@@@+:::::-=+++++++++++++++++++====-%@@@@@@@@@@@@@@%%%@@%=........
@@@@@@@@@@@@@@@@@@#:::::::=++++++++++============:=@@@@@@@@@@@@@@%%%@@@%+-------
@@@@@@@@@%@@@@@@@@@=:::::::=++++++++++=========++-:#@@@@@@@@@@@@@%%%%@@%%%%%%%%%
@@@@@@@@@%@@@@@@@@@#-:::::::=+++===+++=========*+-::%@@@@@@@@@@@@%%%%@@@@%%@@@@@
@@@@@@@@%%@@@@@@@@@%-::::::::-=+=====+++======*+==::*@@@@@@@@@@@@@%%%%@@@@%####*
@@@@@@@@%%@%@@@@@@@@+::::::::::==============+#==-:+%@@@@@@@@@@@@%%%%%%@@@%%#+==
@@@@@@@@%%@@%@@@@@@@#:::::::::::-===========+#*==-:#@%@@@@%@@@@@@%%%%%%%@@%%@#++
@@@@@@@%%@@@@@@@@@@@@=::::::::::::==========*#+---+@@@@@@@@@@@@@@%%%%%%%@@@%%%%#
@@@@@@@@%%%@@@@@@@@@@#::::::::----:-=======**==-:+@@@@@@@@@@@@@@@@%%%%%%%@@%%%%%
@@@@@@@@@@%%%@@@@@@@@@=::::---=+==----====**=---+#@@@@@%@@@@@@@@@@%%%%%%%@@@%%%@
@@@@@@@@@@@%%@%@@@@@@@*--==---====--=--==+#+----=*@@@@@@%%@@@@@@@@%%%%%%%@@@%%%@
%@@@@@@@@@@%%%%@@@@@@@%-::-----===--==-=+**--::-=+#@@@@%%%%@@@@@@@@%%%@%%@@@@%%@
%@@@@@@@%%%%@@@@@@@@@@@+:::::::--==----+**-:::::==*@@@@@%%%@@@@@@@@%%%@%%@@@@%@@
%@@@@@@%%%%%%@%%%%@@@@@#::::::::::-==--=+-::::::==+%@@@@@%%%@@@@@@@%%%@@@@@@@@@@
%%@@@@@@%%%%%%%%%%@@@@@%-:::::::::::--=+-::::::-==+%@@@@@%%%@@@@@@@%%%@@@%@@@@@@
%%%@@@@@%%@%%%%%%%@@@@@@+::::::::::::-----:.:::-===#@@@@@%%%%@@@@@%%%%@@%@@@@@@@
%%%%@@@@@%@%@@%%%%%@@@@@#-::::::::::::--:::..::-===*@@@@@%%%%@@@@@%%@@@@@@@@@@@@
%%@%%%@@@@%%@@%%%@@%@@@@%=::::::::::::--:::::::---=+%@@@@%%%%%@@@@%%@@@@@@@@@@@@
%%@@@%%@@@@%@@%%%@%@@@@@@+::::::::::::-:::::::----=+%@@@@%%%%%@@@%%%@@@@@@@@@@@@
@@@@@@@%@@@@%%%%%%%@@@@@@#::::::::::::-:::::::----=+#@@@@%%%%%@@@%%%@@@@@@@@@@@@
@@@@@@@@%@@@%%%%%%%%@@@@@%-:::::::::::-:::::::-----+*@@@@%%%%%%@%%%@@@@@@@@@@@@@
@@@@@@@@@@@@@%@@@@@%@@@@@@=::::::::::-=:::::::-----+*%@@@%%%%%%%%%%@@@@@@@@@@@@@
@@@@@@@@@@%@@@@@@@@%@@@@@@+:::::::::---:::::::-----=*%@@@%%%%%%%%%@@@@@@@@@@@@@@
@@@@@@@@@@@%@@@@@@@@@@@@@@#:::::::::-+-:::::::-----+*%@@@%%%%%%%%@@@@@@@@@@@@@@@
@@@@@@@@@@@@%@@@@@@@@@@@@@%-:::::::--+::::::::-----+#@@@@%%%%%%%@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@=::::::---=::::::::-----+#%%@@@@%%%%%@@@@@@@@@@@@@@@@